package com.ucode.model.cgms.form;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.*;
import java.math.BigDecimal;
import java.util.List;

/**
 * 陪玩评论创建表单
 * 
 * @Author: system
 * @Date: 2025/01/15 10:00
 * @Version: 1.0
 */
@Schema(description = "陪玩俱乐部社区系统 - 陪玩评论创建表单")
@Data
public class CgmsCompanionCommentCreateForm {

    /**
     * 是否匿名
     */
    @Schema(description = "是否匿名：false-实名，true-匿名", example = "false")
    @NotNull(message = "是否匿名不能为空")
    private Boolean anonymous;

    /**
     * 交易订单编号
     */
    @Schema(description = "交易订单编号", example = "1234567890")
    @NotNull(message = "订单编号不能为空")
    private Long orderId;

    /**
     * 综合评分
     */
    @Schema(description = "综合评分：1.0-5.0星", example = "4.5")
    @NotNull(message = "评分不能为空")
    @DecimalMin(value = "1.0", message = "评分不能小于1.0")
    @DecimalMax(value = "5.0", message = "评分不能大于5.0")
    @Digits(integer = 1, fraction = 1, message = "评分格式错误，最多1位整数和1位小数")
    private BigDecimal scores;

    /**
     * 评论内容
     */
    @Schema(description = "评论内容", example = "服务很好，陪玩技术不错")
    @NotBlank(message = "评论内容不能为空")
    @Size(max = 1000, message = "评论内容不能超过1000字符")
    private String content;

    /**
     * 评论图片地址数组
     */
    @Schema(description = "评论图片地址数组，最多9张")
    @Size(max = 9, message = "评论图片最多9张")
    private List<@NotBlank(message = "图片地址不能为空") String> picUrls;
} 